package com.ruoyi.lab.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 实验室信息对象 lab_message
 * 
 * @author dn
 * @date 2023-12-30
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class LabMessage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 实验室id */
    private Long labId;

    /** 实验室名称 */
    @Excel(name = "实验室名称")
    private String labName;

    /** 所属学院 */
    private Long departId;

    /** 所属学院 */
    @Excel(name = "所属学院")
    private String departName;

    /** 负责教师工号 */
    @Excel(name = "负责教师工号")
    private String chargeTeacherWorkno;

    /** 负责教师姓名 */
    @Excel(name = "负责教师姓名")
    private String nickName;

    /** 实验室地址 */
    @Excel(name = "实验室地址")
    private String address;

    /** 开始预约时间(几点开始) */
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
    @Excel(name = "开始预约时间", width = 30, dateFormat = "HH:mm")
    private Date startAppointTime;

    /** 结束预约时间(几点结束) */
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
    @Excel(name = "结束预约时间", width = 30, dateFormat = "HH:mm")
    private Date endAppointTime;

    /** 实验室状态(0草稿,10提交待审核,20学院审核通过,30学校审核通过,40正式开放) */
    @Excel(name = "实验室状态")
    private String labStatus;

    /** 实验室座位数量 */
    @Excel(name = "实验室座位数量")
    private Integer count;

    /** 实验室下属座位 */
    private List<LabSeatMessage> seatMessageList;
}
